package com.example.utils;

import com.example.entity.SysUser;
import org.springframework.security.core.context.SecurityContextHolder;

/**
 * TODO
 * 用于获取当前登录用户的基本信息
 *
 * @Comment：最难的一次作业
 * @Date: 2023/11/23
 */
public class SecurityUtils {

    //从security主体中获取用户信息
    public static SysUser getUser() {
        SysUser user = (SysUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        user.setPassword(null);
        user.setName(user.getUsername());
        return user;
    }

    //在security中获取用户名
    public static String getUsername() {
        return getUser().getUsername();
    }

    //在security中获取用户ID
    public static Long getUserId() {
        return getUser().getId();
    }

    // 在security中获取小程序openid
    public static String getOpenId() {
        return getUser().getOpenId();
    }


}
